#if !defined(AFX_MEGADRAWER_H__D4D04C46_97A3_425E_AD43_F9C1EF0485EF__INCLUDED_)
#define AFX_MEGADRAWER_H__D4D04C46_97A3_425E_AD43_F9C1EF0485EF__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MegaDrawer.h : header file
//
#include "MegaBitmap.h"

// message sent to drawer's parent
// wParam = drawer's ID
#define WM_DRAWER_ACTIVATION	WM_USER+1000

/////////////////////////////////////////////////////////////////////////////
// CMegaDrawer window

class CMegaDrawer : public CWnd
{
// Construction
public:
	CMegaDrawer();

// Attributes
public:

// Operations
public:
	virtual void SetBitmaps(UINT uiSkinSingle, UINT uiSkinDouble, UINT uiSkinSingleUn, UINT uiSkinDoubleUn);
	virtual void SetSize(int nSize);
	virtual void Activate(bool bActive = true);
	virtual void MoveToTop(bool bOnTop = true);
	CMegaBitmap * GetCurrentSkin();

	bool IsActive();
	bool IsOnTop();

protected:
	CMegaBitmap *m_pBackgroundBmp, *m_pSkinSingle, *m_pSkinDouble, *m_pSkinSingleUn, *m_pSkinDoubleUn;
	CMegaBitmap m_StreamboxPower;
	int m_nSize;
	bool m_bActive, m_bOnTop;
	HRGN m_hrgnSingle, m_hrgnDouble, m_hrgnSingleUn, m_hrgnDoubleUn;

	void RecalcRegion();
	virtual void RepositionControls() = 0;

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMegaDrawer)
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CMegaDrawer();

	// Generated message map functions
protected:
	//{{AFX_MSG(CMegaDrawer)
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MEGADRAWER_H__D4D04C46_97A3_425E_AD43_F9C1EF0485EF__INCLUDED_)
